A current detection technique is known in which phase currents are detected by a single shunt resistance inserted in a direct current part of an inverter circuit when phase U, V and W currents are detected for the purpose of motor control. A three-phase PWM signal pattern needs to be generated so that two or more phase currents can be detected within one period of a pulse width modulation (PWM) carrier (a carrier wave), in order that all the three phase currents may be detected by the use of the aforementioned system. For example, when both U+ (symbol “+” designates an upper arm switching element of the inverter circuit) and V+ are ON and W+ is OFF under the condition where phase U and V duties are equal to each other, phase W current can be detected but the other two phase currents cannot be detected, as shown in FIGS. 18A to 18C in which a saw-tooth wave serves as a carrier. Accordingly, it is proposed that the phase of one phase PWM signal (the phase W in this case) be shifted so that two or more phase currents are normally detectable, as shown in FIGS. 19A to 19C.
However, when the phase PWM signals are sequentially shifted for current detection, a motor current presents a stepwise variation in synchronization with transition from a pattern in which one phase PWM signal is being shifted to another pattern in which another phase PWM signal is shifted, as shown in FIGS. 20A and 20B. FIG. 20B shows a partially enlarged part of FIG. 20A. When the phase U current repeats increase and decrease alternately repeatedly for every carrier period, decrease occurs twice consecutively in synchronization with the aforementioned pattern transition, whereupon the stepwise variation as shown in FIG. 20A occurs. Current variations in this case cause torque fluctuations, resulting in a problem that the noise level is increased during drive of the motor.